using System;
using System.Collections;
using System.Drawing;
using PickGold.Charting;

namespace PickGold.Charting.ChartTypes
{
	internal interface IChartType : IDisposable
	{
		void AddSmartLabelMarkerPositions(CommonElements common, ChartArea area, Series series, ArrayList list);
		Image GetImage(ChartTypeRegistry registry);
		LegendImageStyle GetLegendImageStyle(Series series);
		double GetYValue(CommonElements common, ChartArea area, Series series, DataPoint point, int pointIndex, int yValueIndex);
		void Paint(ChartGraphics graph, CommonElements common, ChartArea area, Series seriesToDraw);

		bool ApplyPaletteColorsToPoints { get; }

		bool CircularChartArea { get; }

		bool DataPointsInLegend { get; }

		bool ExtraYValuesConnectedToYAxis { get; }

		bool HundredPercent { get; }

		bool HundredPercentSupportNegative { get; }

		string Name { get; }

		bool RequireAxes { get; }

		bool SecondYScale { get; }

		bool SideBySideSeries { get; }

		bool Stacked { get; }

		bool StackSign { get; }

		bool SupportLogarithmicAxes { get; }

		bool SupportStackedGroups { get; }

		bool SwitchValueAxes { get; }

		int YValuesPerPoint { get; }

		bool ZeroCrossing { get; }
	}
}

